package com.company.project.service;
import com.company.project.model.Thesis;
import com.company.project.core.Service;
import com.company.project.model.ThesisDelivery;
import com.company.project.util.PageUtil;
import com.company.project.util.ThesisAndAssessment;

import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * Created by CodeGenerator on 2018/10/08.
 */
public interface ThesisService extends Service<Thesis> {

    List selectTh(Integer id);

    //添加论文信息
    Map<String,Integer> addThesis(ThesisAndAssessment thesisAndAssessment);

    //根据id获取论文
    Thesis getThsisById(Integer id);

    //查询全部稿件
    PageUtil<Thesis> selectAllThesis (Integer pageIndex);

    //查询全部稿件数量
    Integer selectAllThesisUnm ();

    //查询待处理稿件
    PageUtil<Thesis> selectPending (Integer pageIndex);

    //查询待处理稿件条数
    Integer selectPendingNum();

    //根据论文id查询论文详情
    Thesis selectParticularsById(Integer id);

    //根据id修改
    Integer updateParticularsById(Thesis thesis);

    //直投添加论文
    Integer insertSelective(Thesis thesis);

    /**
     * 查询稿件管理
     */
    PageUtil<Thesis> selectManuscriptManagement(Integer pageIndex);

    /**
     * 查询稿件管理数量
     */
    Integer selectManuscriptManagementNum();
    /**
     * 前台搜索框搜索论文
     */
    PageUtil<Map<Object,Object>>queryThesis(String cname,Integer index);
    /**
     * 前台搜索框搜索论文的数量
     */
    Integer queryThesisCount(String cname);

    /**
     * 文献格式校验
     * @param txt
     * @return
     */
    List DocumentFormatCheck(String txt);

    /**
     * 错别字校验
     * @return
     */
    List ProofreadForTypos(String map);

    /**
     * 创新指数检验
     * @return
     */
    List<Object> ManuscriptInnovationIndex(Map<String,String> data) throws UnsupportedEncodingException;

}
